home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / util1 / pchwpa8.lha / PatchWPA8.doc < prev    next >
Text File  |  1995-08-24  |  3KB  |  106 lines

  1.  
  2. DESCRIPTION:
  3.  
  4.   PatchWPA8  replaces WritePixelArray8() and WritePixelLine8() functions
  5.   of   graphics.library   with   a  highly  optimised  chunky-to-plannar
  6.   routines.   In  most  cases on 8bit screen it gives acceleration up to
  7.   3.5 times.
  8.  
  9.  
  10. REQUIREMENTS:
  11.  
  12.   OS3.0+ (temporary bitmap is allocated via AllocBitMap)
  13.   CPU 68020 or better
  14.   NOTE: Don't use it with gfx boards!
  15.  
  16.  
  17. BENCHMARKS:
  18.                           Original  Patched
  19.  
  20.   Converting 640x480x8 screen 10 times:
  21.  
  22.   PAL:Hires Laced          22.23s     7.16s (1)   (3.1x faster)
  23.   DBLPAL:Hires NoFlicker   43.68s    12.10s       (3.6x faster)
  24.  
  25.   Real applications:
  26.  
  27.   VT - JPEG 640x480x24     42.03s    38.12s
  28.   VT - JPEG 640x480x8      13.03s     9.23s
  29.   Flick opt ROM             2.8fps    4.2fps (2)
  30.   CyberShow and CyberTVPlayer are faster about 2-2.5 times (visually)
  31.  
  32.  
  33.   All times are measured by SpySystem3 on 68030@25Mhz.
  34.   Testing program with a source is included in this archive.
  35.  
  36.   (1) Yes!  It's true :(  Write  access  to Chip memory is almost 3 times
  37.       slower in doublescan modes (8bit) than in 15kHz PAL or NTSC so WPA8
  38.       and WPL8 are slower, too.
  39.  
  40.   (2) It's  done  just for a test so DON'T use ROM option anymore because
  41.       Flick has own very fast (state of the art) c2p routines.
  42.  
  43.   NOTE:   Many  programs  (f.e.   FastJPEG,  FastView)  use own fast c2p
  44.   routines  with  direct access to screen (system unfriendly but faster)
  45.   so this patch will not speed up anything.
  46.  
  47.  
  48. USAGE:
  49.  
  50.   PatchWPA8 can be started ONLY from CLI. It works like a switch.
  51.   No arguments are supported.
  52.  
  53.  
  54. AUTHOR:
  55.  
  56.   PatchWPA8 was developed in Devpac assembler on A4030/882/10MB/850MB/CDROM.
  57.   C2P  routines  are based on  several sources in Aminet and highly changed
  58.   by me for system usage. All comments or bug reports send to:
  59.  
  60.            Pawel Hernik
  61.            Nowowiejska 24/3
  62.            25-532 Kielce
  63.            POLAND
  64.            tel. (041)27012
  65.  
  66.   E-mail:  spi-ph@srv1.tu.kielce.pl
  67.  
  68.  
  69. DISTRIBUTION:
  70.  
  71.   PatchWPA8  is  FREEWARE.  You may use and copy this program freely but
  72.   all  files  must  be  copied  in an unmodified state preferably in LhA
  73.   or  LZX  archive.  Use it on your own risk.  If you use PatchWPA8 send
  74.   me a postcard or message via e-mail.
  75.  
  76.  
  77. BUGS:
  78.  
  79.   - I   can't   write  directly  into  RastPort's  BitMap  (it  is  system
  80.     unfriendly!)  so  data is  blitted via BltBitMapRastPort.  In original
  81.     function (by Commodore) c2p routine took ~80% of all time but now it's
  82.     only  ~30%  and slow blitter is real bottle neck :( If anyone has idea
  83.     how  to  do  it  system friendly but without using blitter let me know
  84.     about it. Direct write to BitMaps gives acceleration over 8 times (!).
  85.  
  86.   - Patched  routine  doesn't  damage  source chunky in A2 (Is it really a
  87.     bug? :) )
  88.  
  89.   - Patch ignores TmpRastPort in A1 and own bitmap is used (because I need
  90.     8bit  interleaved  bitmap  aligned  to 32bit).  It makes problems when
  91.     some tasks use WPA8 and/or WPL8 simultaneously.  I used very primitive
  92.     semaphore  mechanism to avoid conflicts - it isn't system friendly but
  93.     WORKS!
  94.  
  95.   - Chunky data must have less than 2048 pixels/line (look above) 
  96.  
  97.   - Only  8bit  c2p  is  optimised but it works well for 7bit and less but
  98.     acceleration isn't as  big as in 8bit. It's still faster than original
  99.     routines.
  100.  
  101.  
  102. HISTORY:
  103.  
  104.   1.0 - first release
  105.  
  106.